package persistent.impl;

import java.util.List;

import basic.HibBaseDAO;
import model.TFrontInformation;
import model.VFrontInformation;
import persistent.dao.FrontInformationDAO;

/**
 * 信息管理业务类接口的实现(前台信息)
 * @author djf
 * @since 2018/12/15
 */
public class FrontInformationImpl implements FrontInformationDAO {

	private HibBaseDAO dao=null;
	public FrontInformationImpl() {
		dao=new HibBaseDAO();
	}

	/**
	 * 添加一条信息
	 * @param frontinfo 信息类型对象
	 * @return 成功返回true，失败返回false
	 * @author djf
	 */
	@Override
	public boolean addFrontInformation(TFrontInformation frontinfo) {
		int row=dao.insert(frontinfo);
		if(row>0){
			return true;
		}else{
			return false;
		}
	}

	/**
	 * 删除一条信息
	 * @param infoid 信息id
	 * @return 成功返回true，失败返回false
	 * @author djf
	 */
	@Override
	public boolean deleteFrontInformation(int infoid) {
		return dao.delete(TFrontInformation.class, infoid);
	}

	/**
	 * 修改一条信息
	 * @param frontinfo 信息类型对象
	 * @return 成功返回true，失败返回false
	 * @author djf
	 */
	@Override
	public boolean updateFrontInformation(TFrontInformation frontinfo) {
		TFrontInformation info2=(TFrontInformation)dao.findById(TFrontInformation.class,
				frontinfo.getInfoid());
		info2.setTypeid(frontinfo.getTypeid());
		info2.setTitle(frontinfo.getTitle());
		info2.setSource(frontinfo.getSource());
		info2.setReadnum(frontinfo.getReadnum());
		info2.setPraisenum(frontinfo.getPraisenum());
		info2.setIshotarticle(frontinfo.getIshotarticle());
		info2.setPhotoid(frontinfo.getPhotoid());
		info2.setInfocontent(frontinfo.getInfocontent());
		info2.setAuthor(frontinfo.getAuthor());
		info2.setOldinfoid(frontinfo.getOldinfoid());
		info2.setSendstatus(frontinfo.getSendstatus());
		return dao.update(info2);
	}

	/**
	 * 根据信息id得到一条信息对象
	 * @param infoid 信息id
	 * @return 成功返回TFrontInformation信息类型对象，失败返回null
	 */
	@Override
	public TFrontInformation getTFrontInformation(int infoid) {
		return (TFrontInformation)dao.findById(TFrontInformation.class, infoid);
	}

	/**
	 * 根据查询条件得到一个TFrontInformation类型的列表
 	 * @param strwhere 查询条件
	 * @return 成功返回TFrontInformation列表，失败返回null
	 */
	@Override
	public List<VFrontInformation> getFrontInformationList(String strwhere) {
		String hql="from VFrontInformation "+strwhere;
		return dao.select(hql);
	}

	/**
	 * 根据查询条件得到一个TFrontInformation类型的列表(带分页)
	 * @param strwhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回TFrontInformation列表，失败返回null
	 */
	@Override
	public List<VFrontInformation> getFrontInformationList(String strwhere,
			int currentPage, int pageSize) {
		String hql="from VFrontInformation "+strwhere;
		return dao.selectByPage(hql, currentPage, pageSize);
	}

}
